<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>14_高级变量类型 | 知识库演示</title>
    <meta name="generator" content="VuePress 1.9.9">
    <link rel="icon" href="/vdoing-demo-repository/img/favicon.ico">
    <meta name="description" content="web前端技术博客,简洁至上,专注web前端学习与总结。JavaScript,js,ES6,TypeScript,vue,python,css3,html5,Node,git,github等技术文章。">
    <meta name="keywords" content="前端博客,个人技术博客,前端,前端开发,前端框架,web前端,前端面试题,技术文档,学习,面试,JavaScript,js,ES6,TypeScript,vue,python,css3,html5,Node,git,github,markdown">
    <meta name="theme-color" content="#11a8cd">
    
    <link rel="preload" href="/vdoing-demo-repository/assets/css/0.styles.bb913129.css" as="style"><link rel="preload" href="/vdoing-demo-repository/assets/js/app.52e6b5d0.js" as="script"><link rel="preload" href="/vdoing-demo-repository/assets/js/2.f10ddeba.js" as="script"><link rel="preload" href="/vdoing-demo-repository/assets/js/20.b5301937.js" as="script"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/10.82e086d6.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/100.2570dab9.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/101.b429c13f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/102.0e9afba4.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/103.42e8d9d6.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/104.6ca089b8.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/105.f02335fc.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/106.2fe52c32.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/107.7650f18b.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/108.7d825011.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/109.42092f8e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/11.49ec595f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/110.8e6f8d5b.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/111.84bc1774.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/112.5da6cb16.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/113.2eb6714d.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/114.dbdf6a79.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/115.96dc61ac.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/116.2774e841.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/117.5a0ea935.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/118.72005b7a.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/119.77fd4a33.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/12.66e2368f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/120.994b6190.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/121.794bec47.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/122.239044f6.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/123.d6247b89.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/124.357cddf4.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/125.b27c8c6b.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/126.2f09d5b4.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/127.5b5e7dcc.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/128.ca8342ed.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/129.62196c04.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/13.01d28bf6.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/130.ae36e0a1.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/131.63408c4f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/132.7a1bc472.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/133.6f365b21.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/134.7dfd70a1.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/135.c110453c.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/136.dea9b77b.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/137.212998a2.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/138.cf96d5b3.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/139.34437df0.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/14.52e25550.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/140.b28a1de4.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/141.d117632d.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/142.743bfbfc.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/143.d6c926e2.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/144.86916e4e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/145.a4658544.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/146.9f190393.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/147.b53beefe.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/148.d49c882d.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/149.b5c8b142.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/15.ff9c9117.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/150.ab4902b7.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/151.aa13cf1a.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/152.ca32ca39.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/153.f3dc7a9e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/154.2198d119.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/155.6cf21591.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/156.929b9e50.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/157.6d227e19.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/158.ad6e937f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/159.d74c55e1.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/16.a59e9d0e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/160.1e9abdb1.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/161.5343ce3e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/162.214b3f61.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/163.918d2361.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/164.204cab40.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/165.884ba632.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/166.e3bc3126.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/167.b8103188.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/168.176b21b8.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/169.56e67ae6.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/17.73f27920.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/170.05fe9454.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/171.ac72af48.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/172.134bd8be.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/173.f7b83d9b.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/174.bc7aa46f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/175.c654668c.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/176.33b09327.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/177.97d7e55f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/178.ab02c611.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/179.0d88c6f5.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/18.39e882fe.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/180.1a2df1f3.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/181.533495f7.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/182.a4fc6807.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/183.e3a44f30.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/184.b731d331.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/185.e6eb67ad.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/186.c2493cb4.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/187.279befae.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/188.1de7c987.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/189.e748958a.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/19.ef7490a3.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/190.ad045bc8.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/191.c3131762.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/192.29ea4e7e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/193.1e75aa14.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/194.f1150906.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/195.2a593c50.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/196.5aa5efe2.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/197.a328dc59.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/198.9db60424.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/199.d3b39a54.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/200.a9dae555.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/21.2e9bd506.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/22.02e5e5a0.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/23.a00bf08d.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/24.dae9e7bf.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/25.3120ccd4.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/26.628f5a86.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/27.d4e86439.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/28.642a9f76.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/29.6c013ead.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/3.c3e96c9f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/30.4e45e23b.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/31.9b0c4fcb.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/32.347f1a82.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/33.a17e9f72.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/34.ae475141.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/35.70d7eb87.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/36.0166a619.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/37.8d63783a.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/38.91c94a9e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/39.edf5fef6.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/4.f05e47c1.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/40.f2dfda35.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/41.488faa5e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/42.258fde58.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/43.c46a30da.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/44.cfac4a51.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/45.58439e5f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/46.91d42cf4.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/47.39ec1b7a.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/48.900b1d2a.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/49.4db4a295.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/5.85821e9b.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/50.4a48e245.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/51.32253e74.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/52.f9692c89.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/53.f93fad53.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/54.cccf7ffb.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/55.7e4f324a.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/56.5d04b9d7.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/57.ed34f737.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/58.9e762eed.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/59.81cfbcc1.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/6.5f8d8bd6.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/60.76f14de8.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/61.a4d207e0.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/62.fce4471e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/63.58fd2153.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/64.b3f081c8.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/65.dbde37b1.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/66.49bc7970.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/67.48b689d5.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/68.a3660c81.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/69.b4057547.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/7.4acc3e20.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/70.5f3717cf.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/71.d47ff342.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/72.eca3c6ef.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/73.71bbaeec.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/74.6fe6e554.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/75.4dbad835.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/76.6ec52a3f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/77.9041350a.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/78.e0b3aa97.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/79.1dbdb52c.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/8.503d9748.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/80.568b41f1.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/81.9394cc64.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/82.e36a0a2e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/83.fba15f4a.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/84.1a6a64b4.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/85.af0f0d14.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/86.aed3f80d.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/87.08c34bee.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/88.52b2750e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/89.6d27f363.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/9.9691b37e.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/90.cccb0e61.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/91.6fb1e7f3.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/92.9e3d1d8a.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/93.25bb0c7b.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/94.0a896da5.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/95.41991c9b.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/96.1f4103d8.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/97.97ec058f.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/98.f40afd31.js"><link rel="prefetch" href="/vdoing-demo-repository/assets/js/99.ac67e72d.js">
    <link rel="stylesheet" href="/vdoing-demo-repository/assets/css/0.styles.bb913129.css">
  </head>
  <body class="theme-mode-light">
    <div id="app" data-server-rendered="true"><div class="theme-container sidebar-open have-rightmenu"><header class="navbar blur"><div title="目录" class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/vdoing-demo-repository/" class="home-link router-link-active"><img src="/vdoing-demo-repository/img/EB-logo.png" alt="知识库演示" class="logo"> <span class="site-name can-hide">知识库演示</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/vdoing-demo-repository/" class="nav-link">首页</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Python" class="dropdown-title"><a href="/vdoing-demo-repository/python/" class="link-title">Python</a> <span class="title" style="display:none;">Python</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>Python</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vdoing-demo-repository/pages/c438df/" class="nav-link">Python基础</a></li></ul></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="前端" class="dropdown-title"><a href="/vdoing-demo-repository/web/" class="link-title">前端</a> <span class="title" style="display:none;">前端</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>前端文章</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vdoing-demo-repository/pages/8143cc480faf9a11/" class="nav-link">JavaScript</a></li><li class="dropdown-subitem"><a href="/vdoing-demo-repository/pages/802a1ca6f7b71c59/" class="nav-link">Vue</a></li></ul></li><li class="dropdown-item"><h4>学习笔记</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vdoing-demo-repository/note/javascript/" class="nav-link">《JavaScript教程》笔记</a></li><li class="dropdown-subitem"><a href="/vdoing-demo-repository/note/es6/" class="nav-link">《ES6 教程》笔记</a></li><li class="dropdown-subitem"><a href="/vdoing-demo-repository/note/vue/" class="nav-link">《Vue》笔记</a></li><li class="dropdown-subitem"><a href="/vdoing-demo-repository/note/typescript-axios/" class="nav-link">《TypeScript 从零实现 axios》</a></li><li class="dropdown-subitem"><a href="/vdoing-demo-repository/note/wx-miniprogram/" class="nav-link">小程序笔记</a></li></ul></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="页面" class="dropdown-title"><a href="/vdoing-demo-repository/ui/" class="link-title">页面</a> <span class="title" style="display:none;">页面</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/8309a5b876fc95e3/" class="nav-link">HTML</a></li><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/0a83b083bdf257cb/" class="nav-link">CSS</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="技术" class="dropdown-title"><a href="/vdoing-demo-repository/technology/" class="link-title">技术</a> <span class="title" style="display:none;">技术</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/9a7ee40fc232253e/" class="nav-link">技术文档</a></li><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/4c778760be26d8b3/" class="nav-link">GitHub技巧</a></li><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/117708e0af7f0bd9/" class="nav-link">Nodejs</a></li><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/41f87d890d0a02af/" class="nav-link">博客搭建</a></li></ul></div></div><div class="nav-item"><a href="/vdoing-demo-repository/archives/" class="nav-link">归档</a></div> <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" rel="noopener noreferrer" class="repo-link">
    GitHub
    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar-hover-trigger"></div> <aside class="sidebar" style="display:none;"><!----> <nav class="nav-links"><div class="nav-item"><a href="/vdoing-demo-repository/" class="nav-link">首页</a></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="Python" class="dropdown-title"><a href="/vdoing-demo-repository/python/" class="link-title">Python</a> <span class="title" style="display:none;">Python</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>Python</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vdoing-demo-repository/pages/c438df/" class="nav-link">Python基础</a></li></ul></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="前端" class="dropdown-title"><a href="/vdoing-demo-repository/web/" class="link-title">前端</a> <span class="title" style="display:none;">前端</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>前端文章</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vdoing-demo-repository/pages/8143cc480faf9a11/" class="nav-link">JavaScript</a></li><li class="dropdown-subitem"><a href="/vdoing-demo-repository/pages/802a1ca6f7b71c59/" class="nav-link">Vue</a></li></ul></li><li class="dropdown-item"><h4>学习笔记</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/vdoing-demo-repository/note/javascript/" class="nav-link">《JavaScript教程》笔记</a></li><li class="dropdown-subitem"><a href="/vdoing-demo-repository/note/es6/" class="nav-link">《ES6 教程》笔记</a></li><li class="dropdown-subitem"><a href="/vdoing-demo-repository/note/vue/" class="nav-link">《Vue》笔记</a></li><li class="dropdown-subitem"><a href="/vdoing-demo-repository/note/typescript-axios/" class="nav-link">《TypeScript 从零实现 axios》</a></li><li class="dropdown-subitem"><a href="/vdoing-demo-repository/note/wx-miniprogram/" class="nav-link">小程序笔记</a></li></ul></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="页面" class="dropdown-title"><a href="/vdoing-demo-repository/ui/" class="link-title">页面</a> <span class="title" style="display:none;">页面</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/8309a5b876fc95e3/" class="nav-link">HTML</a></li><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/0a83b083bdf257cb/" class="nav-link">CSS</a></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><button type="button" aria-label="技术" class="dropdown-title"><a href="/vdoing-demo-repository/technology/" class="link-title">技术</a> <span class="title" style="display:none;">技术</span> <span class="arrow right"></span></button> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/9a7ee40fc232253e/" class="nav-link">技术文档</a></li><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/4c778760be26d8b3/" class="nav-link">GitHub技巧</a></li><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/117708e0af7f0bd9/" class="nav-link">Nodejs</a></li><li class="dropdown-item"><!----> <a href="/vdoing-demo-repository/pages/41f87d890d0a02af/" class="nav-link">博客搭建</a></li></ul></div></div><div class="nav-item"><a href="/vdoing-demo-repository/archives/" class="nav-link">归档</a></div> <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" rel="noopener noreferrer" class="repo-link">
    GitHub
    <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></nav>  <ul class="sidebar-links"><li><a href="/vdoing-demo-repository/pages/c438df/" class="sidebar-link">01_认识 Python</a></li><li><a href="/vdoing-demo-repository/pages/54ff73/" class="sidebar-link">02_第一个 Python 程序</a></li><li><a href="/vdoing-demo-repository/pages/d84b0c/" class="sidebar-link">03_PyCharm 的初始设置(知道)</a></li><li><a href="/vdoing-demo-repository/pages/d99c19/" class="sidebar-link">04_多文件项目的演练</a></li><li><a href="/vdoing-demo-repository/pages/6bdfff/" class="sidebar-link">05_注释</a></li><li><a href="/vdoing-demo-repository/pages/20b1cf/" class="sidebar-link">06_算数运算符</a></li><li><a href="/vdoing-demo-repository/pages/82298a/" class="sidebar-link">07_程序执行原理(科普)</a></li><li><a href="/vdoing-demo-repository/pages/9b2741/" class="sidebar-link">08_变量的基本使用</a></li><li><a href="/vdoing-demo-repository/pages/3e8319/" class="sidebar-link">09_变量的命名</a></li><li><a href="/vdoing-demo-repository/pages/a02b0a/" class="sidebar-link">10_判断语句</a></li><li><a href="/vdoing-demo-repository/pages/79d78c/" class="sidebar-link">11_运算符</a></li><li><a href="/vdoing-demo-repository/pages/3ce888/" class="sidebar-link">12_循环</a></li><li><a href="/vdoing-demo-repository/pages/ceea69/" class="sidebar-link">13_函数基础</a></li><li><a href="/vdoing-demo-repository/pages/e158a8/" aria-current="page" class="active sidebar-link">14_高级变量类型</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level2"><a href="/vdoing-demo-repository/pages/e158a8/#目标" class="sidebar-link">目标</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#知识点回顾" class="sidebar-link">知识点回顾</a></li></ul></li><li class="sidebar-sub-header level2"><a href="/vdoing-demo-repository/pages/e158a8/#_01-列表" class="sidebar-link">01. 列表</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_1-1-列表的定义" class="sidebar-link">1.1 列表的定义</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_1-2-列表常用操作" class="sidebar-link">1.2 列表常用操作</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_1-3-循环遍历" class="sidebar-link">1.3 循环遍历</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_1-4-应用场景" class="sidebar-link">1.4 应用场景</a></li></ul></li><li class="sidebar-sub-header level2"><a href="/vdoing-demo-repository/pages/e158a8/#_02-元组" class="sidebar-link">02. 元组</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_2-1-元组的定义" class="sidebar-link">2.1 元组的定义</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_2-2-元组常用操作" class="sidebar-link">2.2 元组常用操作</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_2-3-循环遍历" class="sidebar-link">2.3 循环遍历</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_2-4-应用场景" class="sidebar-link">2.4 应用场景</a></li></ul></li><li class="sidebar-sub-header level2"><a href="/vdoing-demo-repository/pages/e158a8/#_03-字典" class="sidebar-link">03. 字典</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_3-1-字典的定义" class="sidebar-link">3.1 字典的定义</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_3-2-字典常用操作" class="sidebar-link">3.2 字典常用操作</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_3-3-循环遍历" class="sidebar-link">3.3 循环遍历</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_3-4-应用场景" class="sidebar-link">3.4 应用场景</a></li></ul></li><li class="sidebar-sub-header level2"><a href="/vdoing-demo-repository/pages/e158a8/#_04-字符串" class="sidebar-link">04. 字符串</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_4-1-字符串的定义" class="sidebar-link">4.1 字符串的定义</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_4-2-字符串的常用操作" class="sidebar-link">4.2 字符串的常用操作</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_4-3-字符串的切片" class="sidebar-link">4.3 字符串的切片</a></li></ul></li><li class="sidebar-sub-header level2"><a href="/vdoing-demo-repository/pages/e158a8/#_05-公共方法" class="sidebar-link">05. 公共方法</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_5-1-python-内置函数" class="sidebar-link">5.1 Python 内置函数</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_5-2-切片" class="sidebar-link">5.2 切片</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_5-3-运算符" class="sidebar-link">5.3 运算符</a></li><li class="sidebar-sub-header level3"><a href="/vdoing-demo-repository/pages/e158a8/#_5-4-完整的-for-循环语法" class="sidebar-link">5.4 完整的 for 循环语法</a></li></ul></li></ul></li><li><a href="/vdoing-demo-repository/pages/ed6fdd/" class="sidebar-link">15_名片管理系统(综合应用)</a></li><li><a href="/vdoing-demo-repository/pages/e98ba6/" class="sidebar-link">16_变量进阶(理解)</a></li><li><a href="/vdoing-demo-repository/pages/f99095/" class="sidebar-link">17_函数进阶</a></li></ul> </aside> <div><main class="page"><div class="theme-vdoing-wrapper "><div class="articleInfo-wrap" data-v-06225672><div class="articleInfo" data-v-06225672><ul class="breadcrumbs" data-v-06225672><li data-v-06225672><a href="/vdoing-demo-repository/" title="首页" class="iconfont icon-home router-link-active" data-v-06225672></a></li> <li data-v-06225672><a href="/vdoing-demo-repository/python/#Python" data-v-06225672>Python</a></li></ul> <div class="info" data-v-06225672><!----> <div title="创建时间" class="date iconfont icon-riqi" data-v-06225672><a href="javascript:;" data-v-06225672>2023-04-02</a></div> <!----></div></div></div> <!----> <div class="content-wrapper"><div class="right-menu-wrapper"><div class="right-menu-margin"><div class="right-menu-title">目录</div> <div class="right-menu-content"></div></div></div> <h1><img src="">14_高级变量类型<!----></h1> <!----> <div class="theme-vdoing-content content__default"><h1 id="高级变量类型"><a href="#高级变量类型" class="header-anchor">#</a> 高级变量类型</h1> <h2 id="目标"><a href="#目标" class="header-anchor">#</a> 目标</h2> <ul><li>列表</li> <li>元组</li> <li>字典</li> <li>字符串</li> <li>公共方法</li> <li>变量高级</li></ul> <h3 id="知识点回顾"><a href="#知识点回顾" class="header-anchor">#</a> 知识点回顾</h3> <ul><li><p>Python 中数据类型可以分为 <strong>数字型</strong> 和 <strong>非数字型</strong></p></li> <li><p>数字型</p> <ul><li>整型 (<code>int</code>)</li> <li>浮点型（<code>float</code>）</li> <li>布尔型（<code>bool</code>）
<ul><li>真 <code>True</code> <code>非 0 数</code> —— <strong>非零即真</strong></li> <li>假 <code>False</code> <code>0</code></li></ul></li> <li>复数型 (<code>complex</code>)
<ul><li>主要用于科学计算，例如：平面场问题、波动问题、电感电容等问题</li></ul></li></ul></li> <li><p>非数字型</p> <ul><li>字符串</li> <li>列表</li> <li>元组</li> <li>字典</li></ul></li> <li><p>在 <code>Python</code> 中，所有 <strong>非数字型变量</strong> 都支持以下特点：</p> <ol><li>都是一个 <strong>序列</strong> <code>sequence</code>，也可以理解为 <strong>容器</strong></li> <li><strong>取值</strong> <code>[]</code></li> <li><strong>遍历</strong> <code>for in</code></li> <li><strong>计算长度</strong>、<strong>最大/最小值</strong>、<strong>比较</strong>、<strong>删除</strong></li> <li><strong>链接</strong> <code>+</code> 和 <strong>重复</strong> <code>*</code></li> <li><strong>切片</strong></li></ol></li></ul> <h2 id="_01-列表"><a href="#_01-列表" class="header-anchor">#</a> 01. 列表</h2> <h3 id="_1-1-列表的定义"><a href="#_1-1-列表的定义" class="header-anchor">#</a> 1.1 列表的定义</h3> <ul><li><code>List</code>（列表） 是 <code>Python</code> 中使用 <strong>最频繁</strong> 的数据类型，在其他语言中通常叫做 <strong>数组</strong></li> <li>专门用于存储 <strong>一串 信息</strong></li> <li>列表用 <code>[]</code> 定义，<strong>数据</strong> 之间使用 <code>,</code> 分隔</li> <li>列表的 <strong>索引</strong> 从 <code>0</code> 开始
<ul><li><strong>索引</strong> 就是数据在 <strong>列表</strong> 中的位置编号，<strong>索引</strong> 又可以被称为 <strong>下标</strong></li></ul></li></ul> <blockquote><p>注意：从列表中取值时，如果 <strong>超出索引范围</strong>，程序会报错</p></blockquote> <div class="language-python line-numbers-mode"><pre class="language-python"><code>name_list <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token string">&quot;zhangsan&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;lisi&quot;</span><span class="token punctuation">,</span> <span class="token string">&quot;wangwu&quot;</span><span class="token punctuation">]</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p><img src="media/14972568611505/001_%E5%88%97%E8%A1%A8%E7%A4%BA%E6%84%8F%E5%9B%BE.png" alt="001_列表示意图"></p> <h3 id="_1-2-列表常用操作"><a href="#_1-2-列表常用操作" class="header-anchor">#</a> 1.2 列表常用操作</h3> <ul><li>在 <code>ipython3</code> 中定义一个 <strong>列表</strong>，例如：<code>name_list = []</code></li> <li>输入 <code>name_list.</code> 按下 <code>TAB</code> 键，<code>ipython</code> 会提示 <strong>列表</strong> 能够使用的 <strong>方法</strong> 如下：</li></ul> <div class="language- line-numbers-mode"><pre class="language-text"><code>In [1]: name_list.
name_list.append   name_list.count    name_list.insert   name_list.reverse
name_list.clear    name_list.extend   name_list.pop      name_list.sort
name_list.copy     name_list.index    name_list.remove 
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><table><thead><tr><th>序号</th> <th>分类</th> <th>关键字 / 函数 / 方法</th> <th>说明</th></tr></thead> <tbody><tr><td>1</td> <td>增加</td> <td>列表.insert(索引, 数据)</td> <td>在指定位置插入数据</td></tr> <tr><td></td> <td></td> <td>列表.append(数据)</td> <td>在末尾追加数据</td></tr> <tr><td></td> <td></td> <td>列表.extend(列表2)</td> <td>将列表2 的数据追加到列表</td></tr> <tr><td>2</td> <td>修改</td> <td>列表[索引] = 数据</td> <td>修改指定索引的数据</td></tr> <tr><td>3</td> <td>删除</td> <td>del 列表[索引]</td> <td>删除指定索引的数据</td></tr> <tr><td></td> <td></td> <td>列表.remove[数据]</td> <td>删除第一个出现的指定数据</td></tr> <tr><td></td> <td></td> <td>列表.pop</td> <td>删除末尾数据</td></tr> <tr><td></td> <td></td> <td>列表.pop(索引)</td> <td>删除指定索引数据</td></tr> <tr><td></td> <td></td> <td>列表.clear</td> <td>清空列表</td></tr> <tr><td>4</td> <td>统计</td> <td>len(列表)</td> <td>列表长度</td></tr> <tr><td></td> <td></td> <td>列表.count(数据)</td> <td>数据在列表中出现的次数</td></tr> <tr><td>5</td> <td>排序</td> <td>列表.sort()</td> <td>升序排序</td></tr> <tr><td></td> <td></td> <td>列表.sort(reverse=True)</td> <td>降序排序</td></tr> <tr><td></td> <td></td> <td>列表.reverse()</td> <td>逆序、反转</td></tr></tbody></table> <h4 id="del-关键字-科普"><a href="#del-关键字-科普" class="header-anchor">#</a> del 关键字（科普）</h4> <ul><li>使用 <code>del</code> 关键字(<code>delete</code>) 同样可以删除列表中元素</li> <li><code>del</code> 关键字本质上是用来 <strong>将一个变量从内存中删除的</strong></li> <li>如果使用 <code>del</code> 关键字将变量从内存中删除，后续的代码就不能再使用这个变量了</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token keyword">del</span> name_list<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><blockquote><p>在日常开发中，要从列表删除数据，建议 <strong>使用列表提供的方法</strong></p></blockquote> <h4 id="关键字、函数和方法-科普"><a href="#关键字、函数和方法-科普" class="header-anchor">#</a> 关键字、函数和方法（科普）</h4> <ul><li><strong>关键字</strong> 是 Python 内置的、具有特殊意义的标识符</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>In <span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">:</span> <span class="token keyword">import</span> keyword
In <span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span><span class="token punctuation">:</span> <span class="token keyword">print</span><span class="token punctuation">(</span>keyword<span class="token punctuation">.</span>kwlist<span class="token punctuation">)</span>
In <span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span><span class="token punctuation">:</span> <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token builtin">len</span><span class="token punctuation">(</span>keyword<span class="token punctuation">.</span>kwlist<span class="token punctuation">)</span><span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br></div></div><blockquote><p>关键字后面不需要使用括号</p></blockquote> <ul><li><strong>函数</strong> 封装了独立功能，可以直接调用</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>函数名<span class="token punctuation">(</span>参数<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><blockquote><p>函数需要死记硬背</p></blockquote> <ul><li><strong>方法</strong> 和函数类似，同样是封装了独立的功能</li> <li><strong>方法</strong> 需要通过 <strong>对象</strong> 来调用，表示针对这个 <strong>对象</strong> 要做的操作</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>对象<span class="token punctuation">.</span>方法名<span class="token punctuation">(</span>参数<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><blockquote><p>在变量后面输入 <code>.</code>，然后选择针对这个变量要执行的操作，记忆起来比函数要简单很多</p></blockquote> <h3 id="_1-3-循环遍历"><a href="#_1-3-循环遍历" class="header-anchor">#</a> 1.3 循环遍历</h3> <ul><li><p><strong>遍历</strong> 就是 <strong>从头到尾</strong> <strong>依次</strong> 从 <strong>列表</strong> 中获取数据</p> <ul><li>在 <strong>循环体内部</strong> 针对 <strong>每一个元素</strong>，执行相同的操作</li></ul></li> <li><p>在 <code>Python</code> 中为了提高列表的遍历效率，专门提供的 <strong>迭代 iteration 遍历</strong></p></li> <li><p>使用 <code>for</code> 就能够实现迭代遍历</p></li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token comment"># for 循环内部使用的变量 in 列表</span>
<span class="token keyword">for</span> name <span class="token keyword">in</span> name_list<span class="token punctuation">:</span>

    循环内部针对列表元素进行操作
    <span class="token keyword">print</span><span class="token punctuation">(</span>name<span class="token punctuation">)</span>

</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><p><img src="media/14972568611505/002_forin%E5%BE%AA%E7%8E%AF%E6%B5%81%E7%A8%8B%E5%9B%BE.png" alt="002_forin循环流程图-w420"></p> <h3 id="_1-4-应用场景"><a href="#_1-4-应用场景" class="header-anchor">#</a> 1.4 <strong>应用场景</strong></h3> <ul><li>尽管 <code>Python</code> 的 <strong>列表</strong> 中可以 <strong>存储不同类型的数据</strong></li> <li>但是在开发中，更多的应用场景是
<ol><li><strong>列表</strong> 存储相同类型的数据</li> <li>通过 <strong>迭代遍历</strong>，在循环体内部，针对列表中的每一项元素，执行相同的操作</li></ol></li></ul> <h2 id="_02-元组"><a href="#_02-元组" class="header-anchor">#</a> 02. 元组</h2> <h3 id="_2-1-元组的定义"><a href="#_2-1-元组的定义" class="header-anchor">#</a> 2.1 元组的定义</h3> <ul><li><code>Tuple</code>（元组）与列表类似，不同之处在于元组的 <strong>元素不能修改</strong> <ul><li><strong>元组</strong> 表示多个元素组成的序列</li> <li><strong>元组</strong> 在 <code>Python</code> 开发中，有特定的应用场景</li></ul></li> <li>用于存储 <strong>一串 信息</strong>，<strong>数据</strong> 之间使用 <code>,</code> 分隔</li> <li>元组用 <code>()</code> 定义</li> <li>元组的 <strong>索引</strong> 从 <code>0</code> 开始
<ul><li><strong>索引</strong> 就是数据在 <strong>元组</strong> 中的位置编号</li></ul></li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>info_tuple <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token string">&quot;zhangsan&quot;</span><span class="token punctuation">,</span> <span class="token number">18</span><span class="token punctuation">,</span> <span class="token number">1.75</span><span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><h4 id="创建空元组"><a href="#创建空元组" class="header-anchor">#</a> 创建空元组</h4> <div class="language-python line-numbers-mode"><pre class="language-python"><code>info_tuple <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><h4 id="元组中-只包含一个元素-时-需要-在元素后面添加逗号"><a href="#元组中-只包含一个元素-时-需要-在元素后面添加逗号" class="header-anchor">#</a> 元组中 <strong>只包含一个元素</strong> 时，需要 <strong>在元素后面添加逗号</strong></h4> <div class="language-python line-numbers-mode"><pre class="language-python"><code>info_tuple <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token number">50</span><span class="token punctuation">,</span> <span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p><img src="media/14972568611505/003_%E5%85%83%E7%BB%84%E7%A4%BA%E6%84%8F%E5%9B%BE.png" alt="003_元组示意图-w500"></p> <h3 id="_2-2-元组常用操作"><a href="#_2-2-元组常用操作" class="header-anchor">#</a> 2.2 元组常用操作</h3> <ul><li>在 <code>ipython3</code> 中定义一个 <strong>元组</strong>，例如：<code>info = ()</code></li> <li>输入 <code>info.</code> 按下 <code>TAB</code> 键，<code>ipython</code> 会提示 <strong>元组</strong> 能够使用的函数如下：</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>info<span class="token punctuation">.</span>count  info<span class="token punctuation">.</span>index
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><blockquote><p>有关 <strong>元组</strong> 的 <strong>常用操作</strong> 可以参照上图练习</p></blockquote> <h3 id="_2-3-循环遍历"><a href="#_2-3-循环遍历" class="header-anchor">#</a> 2.3 循环遍历</h3> <ul><li><strong>取值</strong> 就是从 <strong>元组</strong> 中获取存储在指定位置的数据</li> <li><strong>遍历</strong> 就是 <strong>从头到尾</strong> <strong>依次</strong> 从 <strong>元组</strong> 中获取数据</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token comment"># for 循环内部使用的变量 in 元组</span>
<span class="token keyword">for</span> item <span class="token keyword">in</span> info<span class="token punctuation">:</span>

    循环内部针对元组元素进行操作
    <span class="token keyword">print</span><span class="token punctuation">(</span>item<span class="token punctuation">)</span>

</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br></div></div><blockquote><ul><li>在 <code>Python</code> 中，可以使用 <code>for</code> 循环遍历所有非数字型类型的变量：<strong>列表</strong>、<strong>元组</strong>、<strong>字典</strong> 以及 <strong>字符串</strong></li> <li>提示：在实际开发中，除非 <strong>能够确认元组中的数据类型</strong>，否则针对元组的循环遍历需求并不是很多</li></ul></blockquote> <h3 id="_2-4-应用场景"><a href="#_2-4-应用场景" class="header-anchor">#</a> 2.4 应用场景</h3> <ul><li>尽管可以使用 <code>for in</code> 遍历 <strong>元组</strong></li> <li>但是在开发中，更多的应用场景是：
<ul><li><strong>函数的 参数 和 返回值</strong>，一个函数可以接收 <strong>任意多个参数</strong>，或者 <strong>一次返回多个数据</strong> <ul><li>有关 <strong>函数的参数 和 返回值</strong>，在后续 <strong>函数高级</strong> 给大家介绍</li></ul></li> <li><strong>格式字符串</strong>，格式化字符串后面的 <code>()</code> 本质上就是一个元组</li> <li><strong>让列表不可以被修改</strong>，以保护数据安全</li></ul></li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>info <span class="token operator">=</span> <span class="token punctuation">(</span><span class="token string">&quot;zhangsan&quot;</span><span class="token punctuation">,</span> <span class="token number">18</span><span class="token punctuation">)</span>

<span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&quot;%s 的年龄是 %d&quot;</span> <span class="token operator">%</span> info<span class="token punctuation">)</span>

</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><h4 id="元组和列表之间的转换"><a href="#元组和列表之间的转换" class="header-anchor">#</a> 元组和列表之间的转换</h4> <ul><li>使用 <code>list</code> 函数可以把元组转换成列表</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token builtin">list</span><span class="token punctuation">(</span>元组<span class="token punctuation">)</span> 
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><ul><li>使用 <code>tuple</code> 函数可以把列表转换成元组</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token builtin">tuple</span><span class="token punctuation">(</span>列表<span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><h2 id="_03-字典"><a href="#_03-字典" class="header-anchor">#</a> 03. 字典</h2> <h3 id="_3-1-字典的定义"><a href="#_3-1-字典的定义" class="header-anchor">#</a> 3.1 字典的定义</h3> <ul><li><code>dictionary</code>（字典） 是 <strong>除列表以外</strong> <code>Python</code> 之中 <strong>最灵活</strong> 的数据类型</li> <li>字典同样可以用来 <strong>存储多个数据</strong> <ul><li>通常用于存储 <strong>描述一个 <code>物体</code> 的相关信息</strong></li></ul></li> <li>和列表的区别
<ul><li><strong>列表</strong> 是 <strong>有序</strong> 的对象集合</li> <li><strong>字典</strong> 是 <strong>无序</strong> 的对象集合</li></ul></li> <li>字典用 <code>{}</code> 定义</li> <li>字典使用 <strong>键值对</strong> 存储数据，键值对之间使用 <code>,</code> 分隔
<ul><li><strong>键</strong> <code>key</code> 是索引</li> <li><strong>值</strong> <code>value</code> 是数据</li> <li><strong>键</strong> 和 <strong>值</strong> 之间使用 <code>:</code> 分隔</li> <li><strong>键必须是唯一的</strong></li> <li><strong>值</strong> 可以取任何数据类型，但 <strong>键</strong> 只能使用 <strong>字符串</strong>、<strong>数字</strong>或 <strong>元组</strong></li></ul></li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>xiaoming <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token string">&quot;name&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;小明&quot;</span><span class="token punctuation">,</span>
            <span class="token string">&quot;age&quot;</span><span class="token punctuation">:</span> <span class="token number">18</span><span class="token punctuation">,</span>
            <span class="token string">&quot;gender&quot;</span><span class="token punctuation">:</span> <span class="token boolean">True</span><span class="token punctuation">,</span>
            <span class="token string">&quot;height&quot;</span><span class="token punctuation">:</span> <span class="token number">1.75</span><span class="token punctuation">}</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><p><img src="media/14972568611505/002_%E5%AD%97%E5%85%B8%E7%A4%BA%E6%84%8F%E5%9B%BE.png" alt="002_字典示意图"></p> <h3 id="_3-2-字典常用操作"><a href="#_3-2-字典常用操作" class="header-anchor">#</a> 3.2 字典常用操作</h3> <ul><li>在 <code>ipython3</code> 中定义一个 <strong>字典</strong>，例如：<code>xiaoming = {}</code></li> <li>输入 <code>xiaoming.</code> 按下 <code>TAB</code> 键，<code>ipython</code> 会提示 <strong>字典</strong> 能够使用的函数如下：</li></ul> <div class="language- line-numbers-mode"><pre class="language-text"><code>In [1]: xiaoming.
xiaoming.clear       xiaoming.items       xiaoming.setdefault
xiaoming.copy        xiaoming.keys        xiaoming.update
xiaoming.fromkeys    xiaoming.pop         xiaoming.values
xiaoming.get         xiaoming.popitem    
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><blockquote><p>有关 <strong>字典</strong> 的 <strong>常用操作</strong> 可以参照上图练习</p></blockquote> <h3 id="_3-3-循环遍历"><a href="#_3-3-循环遍历" class="header-anchor">#</a> 3.3 循环遍历</h3> <ul><li><strong>遍历</strong> 就是 <strong>依次</strong> 从 <strong>字典</strong> 中获取所有键值对</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token comment"># for 循环内部使用的 `key 的变量` in 字典</span>
<span class="token keyword">for</span> k <span class="token keyword">in</span> xiaoming<span class="token punctuation">:</span>

    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&quot;%s: %s&quot;</span> <span class="token operator">%</span> <span class="token punctuation">(</span>k<span class="token punctuation">,</span> xiaoming<span class="token punctuation">[</span>k<span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">)</span>
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br></div></div><blockquote><p>提示：在实际开发中，由于字典中每一个键值对保存数据的类型是不同的，所以针对字典的循环遍历需求并不是很多</p></blockquote> <h3 id="_3-4-应用场景"><a href="#_3-4-应用场景" class="header-anchor">#</a> 3.4 <strong>应用场景</strong></h3> <ul><li>尽管可以使用 <code>for in</code> 遍历 <strong>字典</strong></li> <li>但是在开发中，更多的应用场景是：
<ul><li>使用 <strong>多个键值对</strong>，存储 <strong>描述一个 <code>物体</code> 的相关信息</strong> —— 描述更复杂的数据信息</li> <li>将 <strong>多个字典</strong> 放在 <strong>一个列表</strong> 中，再进行遍历，在循环体内部针对每一个字典进行 <strong>相同的处理</strong></li></ul></li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>card_list <span class="token operator">=</span> <span class="token punctuation">[</span><span class="token punctuation">{</span><span class="token string">&quot;name&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;张三&quot;</span><span class="token punctuation">,</span>
              <span class="token string">&quot;qq&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;12345&quot;</span><span class="token punctuation">,</span>
              <span class="token string">&quot;phone&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;110&quot;</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
             <span class="token punctuation">{</span><span class="token string">&quot;name&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;李四&quot;</span><span class="token punctuation">,</span>
              <span class="token string">&quot;qq&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;54321&quot;</span><span class="token punctuation">,</span>
              <span class="token string">&quot;phone&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;10086&quot;</span><span class="token punctuation">}</span>
             <span class="token punctuation">]</span>

</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br></div></div><h2 id="_04-字符串"><a href="#_04-字符串" class="header-anchor">#</a> 04. 字符串</h2> <h3 id="_4-1-字符串的定义"><a href="#_4-1-字符串的定义" class="header-anchor">#</a> 4.1 字符串的定义</h3> <ul><li><strong>字符串</strong> 就是 <strong>一串字符</strong>，是编程语言中表示文本的数据类型</li> <li>在 Python 中可以使用 <strong>一对双引号</strong> <code>&quot;</code> 或者 <strong>一对单引号</strong> <code>'</code> 定义一个字符串
<ul><li>虽然可以使用 <code>\&quot;</code> 或者 <code>\'</code> 做字符串的转义，但是在实际开发中：
<ul><li>如果字符串内部需要使用 <code>&quot;</code>，可以使用 <code>'</code> 定义字符串</li> <li>如果字符串内部需要使用 <code>'</code>，可以使用 <code>&quot;</code> 定义字符串</li></ul></li></ul></li> <li>可以使用 <strong>索引</strong> 获取一个字符串中 <strong>指定位置的字符</strong>，索引计数从 <strong>0</strong> 开始</li> <li>也可以使用 <code>for</code> <strong>循环遍历</strong> 字符串中每一个字符</li></ul> <blockquote><p>大多数编程语言都是用 <code>&quot;</code> 来定义字符串</p></blockquote> <div class="language-python line-numbers-mode"><pre class="language-python"><code>string <span class="token operator">=</span> <span class="token string">&quot;Hello Python&quot;</span>

<span class="token keyword">for</span> c <span class="token keyword">in</span> string<span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span>c<span class="token punctuation">)</span>

</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><p><img src="media/14972568611505/005_%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%A4%BA%E6%84%8F%E5%9B%BE.png" alt="005_字符串示意图-w500"></p> <h3 id="_4-2-字符串的常用操作"><a href="#_4-2-字符串的常用操作" class="header-anchor">#</a> 4.2 字符串的常用操作</h3> <ul><li>在 <code>ipython3</code> 中定义一个 <strong>字符串</strong>，例如：<code>hello_str = &quot;&quot;</code></li> <li>输入 <code>hello_str.</code> 按下 <code>TAB</code> 键，<code>ipython</code> 会提示 <strong>字符串</strong> 能够使用的 <strong>方法</strong> 如下：</li></ul> <div class="language- line-numbers-mode"><pre class="language-text"><code>In [1]: hello_str.
hello_str.capitalize    hello_str.isidentifier  hello_str.rindex
hello_str.casefold      hello_str.islower       hello_str.rjust
hello_str.center        hello_str.isnumeric     hello_str.rpartition
hello_str.count         hello_str.isprintable   hello_str.rsplit
hello_str.encode        hello_str.isspace       hello_str.rstrip
hello_str.endswith      hello_str.istitle       hello_str.split
hello_str.expandtabs    hello_str.isupper       hello_str.splitlines
hello_str.find          hello_str.join          hello_str.startswith
hello_str.format        hello_str.ljust         hello_str.strip
hello_str.format_map    hello_str.lower         hello_str.swapcase
hello_str.index         hello_str.lstrip        hello_str.title
hello_str.isalnum       hello_str.maketrans     hello_str.translate
hello_str.isalpha       hello_str.partition     hello_str.upper
hello_str.isdecimal     hello_str.replace       hello_str.zfill
hello_str.isdigit       hello_str.rfind
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br></div></div><blockquote><p>提示：正是因为 python 内置提供的方法足够多，才使得在开发时，能够针对字符串进行更加灵活的操作！应对更多的开发需求！</p></blockquote> <h4 id="_1-判断类型-9"><a href="#_1-判断类型-9" class="header-anchor">#</a> 1) 判断类型 - 9</h4> <table><thead><tr><th>方法</th> <th>说明</th></tr></thead> <tbody><tr><td>string.isspace()</td> <td>如果 string 中只包含空格，则返回 True</td></tr> <tr><td>string.isalnum()</td> <td>如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True</td></tr> <tr><td>string.isalpha()</td> <td>如果 string 至少有一个字符并且所有字符都是字母则返回 True</td></tr> <tr><td>string.isdecimal()</td> <td>如果 string 只包含数字则返回 True，<code>全角数字</code></td></tr> <tr><td>string.isdigit()</td> <td>如果 string 只包含数字则返回 True，<code>全角数字</code>、<code>⑴</code>、<code>\u00b2</code></td></tr> <tr><td>string.isnumeric()</td> <td>如果 string 只包含数字则返回 True，<code>全角数字</code>，<code>汉字数字</code></td></tr> <tr><td>string.istitle()</td> <td>如果 string 是标题化的(每个单词的首字母大写)则返回 True</td></tr> <tr><td>string.islower()</td> <td>如果 string 中包含至少一个区分大小写的字符，并且所有这些(区分大小写的)字符都是小写，则返回 True</td></tr> <tr><td>string.isupper()</td> <td>如果 string 中包含至少一个区分大小写的字符，并且所有这些(区分大小写的)字符都是大写，则返回 True</td></tr></tbody></table> <h4 id="_2-查找和替换-7"><a href="#_2-查找和替换-7" class="header-anchor">#</a> 2) 查找和替换 - 7</h4> <table><thead><tr><th>方法</th> <th>说明</th></tr></thead> <tbody><tr><td>string.startswith(str)</td> <td>检查字符串是否是以 str 开头，是则返回 True</td></tr> <tr><td>string.endswith(str)</td> <td>检查字符串是否是以 str 结束，是则返回 True</td></tr> <tr><td>string.find(str, start=0, end=len(string))</td> <td>检测 str 是否包含在 string 中，如果 start 和 end 指定范围，则检查是否包含在指定范围内，如果是返回开始的索引值，否则返回 <code>-1</code></td></tr> <tr><td>string.rfind(str, start=0, end=len(string))</td> <td>类似于 find()，不过是从右边开始查找</td></tr> <tr><td>string.index(str, start=0, end=len(string))</td> <td>跟 find() 方法类似，不过如果 str 不在 string 会报错</td></tr> <tr><td>string.rindex(str, start=0, end=len(string))</td> <td>类似于 index()，不过是从右边开始</td></tr> <tr><td>string.replace(old_str, new_str, num=string.count(old))</td> <td>把 string 中的 old_str 替换成 new_str，如果 num 指定，则替换不超过 num 次</td></tr></tbody></table> <h4 id="_3-大小写转换-5"><a href="#_3-大小写转换-5" class="header-anchor">#</a> 3) 大小写转换 - 5</h4> <table><thead><tr><th>方法</th> <th>说明</th></tr></thead> <tbody><tr><td>string.capitalize()</td> <td>把字符串的第一个字符大写</td></tr> <tr><td>string.title()</td> <td>把字符串的每个单词首字母大写</td></tr> <tr><td>string.lower()</td> <td>转换 string 中所有大写字符为小写</td></tr> <tr><td>string.upper()</td> <td>转换 string 中的小写字母为大写</td></tr> <tr><td>string.swapcase()</td> <td>翻转 string 中的大小写</td></tr></tbody></table> <h4 id="_4-文本对齐-3"><a href="#_4-文本对齐-3" class="header-anchor">#</a> 4) 文本对齐 - 3</h4> <table><thead><tr><th>方法</th> <th>说明</th></tr></thead> <tbody><tr><td>string.ljust(width)</td> <td>返回一个原字符串左对齐，并使用空格填充至长度 width 的新字符串</td></tr> <tr><td>string.rjust(width)</td> <td>返回一个原字符串右对齐，并使用空格填充至长度 width 的新字符串</td></tr> <tr><td>string.center(width)</td> <td>返回一个原字符串居中，并使用空格填充至长度 width 的新字符串</td></tr></tbody></table> <h4 id="_5-去除空白字符-3"><a href="#_5-去除空白字符-3" class="header-anchor">#</a> 5) 去除空白字符 - 3</h4> <table><thead><tr><th>方法</th> <th>说明</th></tr></thead> <tbody><tr><td>string.lstrip()</td> <td>截掉 string 左边（开始）的空白字符</td></tr> <tr><td>string.rstrip()</td> <td>截掉 string 右边（末尾）的空白字符</td></tr> <tr><td>string.strip()</td> <td>截掉 string 左右两边的空白字符</td></tr></tbody></table> <h4 id="_6-拆分和连接-5"><a href="#_6-拆分和连接-5" class="header-anchor">#</a> 6) 拆分和连接 - 5</h4> <table><thead><tr><th>方法</th> <th>说明</th></tr></thead> <tbody><tr><td>string.partition(str)</td> <td>把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面)</td></tr> <tr><td>string.rpartition(str)</td> <td>类似于 partition() 方法，不过是从右边开始查找</td></tr> <tr><td>string.split(str=&quot;&quot;, num)</td> <td>以 str 为分隔符拆分 string，如果 num 有指定值，则仅分隔 num + 1 个子字符串，str 默认包含 '\r', '\t', '\n' 和空格</td></tr> <tr><td>string.splitlines()</td> <td>按照行('\r', '\n', '\r\n')分隔，返回一个包含各行作为元素的列表</td></tr> <tr><td>string.join(seq)</td> <td>以 string 作为分隔符，将 seq 中所有的元素（的字符串表示）合并为一个新的字符串</td></tr></tbody></table> <h3 id="_4-3-字符串的切片"><a href="#_4-3-字符串的切片" class="header-anchor">#</a> 4.3 字符串的切片</h3> <ul><li><strong>切片</strong> 方法适用于 <strong>字符串</strong>、<strong>列表</strong>、<strong>元组</strong> <ul><li><strong>切片</strong> 使用 <strong>索引值</strong> 来限定范围，从一个大的 <strong>字符串</strong> 中 <strong>切出</strong> 小的 <strong>字符串</strong></li> <li><strong>列表</strong> 和 <strong>元组</strong> 都是 <strong>有序</strong> 的集合，都能够 <strong>通过索引值</strong> 获取到对应的数据</li> <li><strong>字典</strong> 是一个 <strong>无序</strong> 的集合，是使用 <strong>键值对</strong> 保存数据</li></ul></li></ul> <p><img src="media/14972568611505/006_%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%B4%A2%E5%BC%95%E7%A4%BA%E6%84%8F%E5%9B%BE.png" alt="006_字符串索引示意图"></p> <div class="language- line-numbers-mode"><pre class="language-text"><code>字符串[开始索引:结束索引:步长]
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br></div></div><p><strong>注意</strong>：</p> <ol><li>指定的区间属于 <strong>左闭右开</strong> 型 <code>[开始索引, 结束索引)</code> =&gt; <code>开始索引 &gt;= 范围 &lt; 结束索引</code> <ul><li>从 <code>起始</code> 位开始，到 <strong><code>结束</code>位的前一位</strong> 结束（<strong>不包含结束位本身</strong>)</li></ul></li> <li>从头开始，<strong>开始索引</strong> <strong>数字可以省略，冒号不能省略</strong></li> <li>到末尾结束，<strong>结束索引</strong> <strong>数字可以省略，冒号不能省略</strong></li> <li>步长默认为 <code>1</code>，如果连续切片，<strong>数字和冒号都可以省略</strong></li></ol> <h4 id="索引的顺序和倒序"><a href="#索引的顺序和倒序" class="header-anchor">#</a> 索引的顺序和倒序</h4> <ul><li>在 Python 中不仅支持 <strong>顺序索引</strong>，同时还支持 <strong>倒序索引</strong></li> <li>所谓倒序索引就是 <strong>从右向左</strong> 计算索引
<ul><li>最右边的索引值是 <strong>-1</strong>，依次递减</li></ul></li></ul> <p><strong>演练需求</strong></p> <ul><li><ol><li>截取从 2 ~ 5 位置 的字符串</li></ol></li> <li><ol start="2"><li>截取从 2 ~ <code>末尾</code> 的字符串</li></ol></li> <li><ol start="3"><li>截取从 <code>开始</code> ~ 5 位置 的字符串</li></ol></li> <li><ol start="4"><li>截取完整的字符串</li></ol></li> <li><ol start="5"><li>从开始位置，每隔一个字符截取字符串</li></ol></li> <li><ol start="6"><li>从索引 1 开始，每隔一个取一个</li></ol></li> <li><ol start="7"><li>截取从 2 ~ <code>末尾 - 1</code> 的字符串</li></ol></li> <li><ol start="8"><li>截取字符串末尾两个字符</li></ol></li> <li><ol start="9"><li>字符串的逆序（面试题）</li></ol></li></ul> <p><strong>答案</strong></p> <div class="language- line-numbers-mode"><pre class="language-text"><code>num_str = &quot;0123456789&quot;

# 1. 截取从 2 ~ 5 位置 的字符串
print(num_str[2:6])

# 2. 截取从 2 ~ `末尾` 的字符串
print(num_str[2:])

# 3. 截取从 `开始` ~ 5 位置 的字符串
print(num_str[:6])

# 4. 截取完整的字符串
print(num_str[:])

# 5. 从开始位置，每隔一个字符截取字符串
print(num_str[::2])

# 6. 从索引 1 开始，每隔一个取一个
print(num_str[1::2])

# 倒序切片
# -1 表示倒数第一个字符
print(num_str[-1])

# 7. 截取从 2 ~ `末尾 - 1` 的字符串
print(num_str[2:-1])

# 8. 截取字符串末尾两个字符
print(num_str[-2:])

# 9. 字符串的逆序（面试题）
print(num_str[::-1])

</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br><span class="line-number">32</span><br><span class="line-number">33</span><br></div></div><h2 id="_05-公共方法"><a href="#_05-公共方法" class="header-anchor">#</a> 05. 公共方法</h2> <h3 id="_5-1-python-内置函数"><a href="#_5-1-python-内置函数" class="header-anchor">#</a> 5.1 Python 内置函数</h3> <p>Python 包含了以下内置函数：</p> <table><thead><tr><th>函数</th> <th>描述</th> <th>备注</th></tr></thead> <tbody><tr><td>len(item)</td> <td>计算容器中元素个数</td> <td></td></tr> <tr><td>del(item)</td> <td>删除变量</td> <td>del 有两种方式</td></tr> <tr><td>max(item)</td> <td>返回容器中元素最大值</td> <td>如果是字典，只针对 key 比较</td></tr> <tr><td>min(item)</td> <td>返回容器中元素最小值</td> <td>如果是字典，只针对 key 比较</td></tr> <tr><td>cmp(item1, item2)</td> <td>比较两个值，-1 小于/0 相等/1 大于</td> <td>Python 3.x 取消了 cmp 函数</td></tr></tbody></table> <p><strong>注意</strong></p> <ul><li><strong>字符串</strong> 比较符合以下规则： &quot;0&quot; &lt; &quot;A&quot; &lt; &quot;a&quot;</li></ul> <h3 id="_5-2-切片"><a href="#_5-2-切片" class="header-anchor">#</a> 5.2 切片</h3> <table><thead><tr><th style="text-align:center;">描述</th> <th>Python 表达式</th> <th>结果</th> <th>支持的数据类型</th></tr></thead> <tbody><tr><td style="text-align:center;">切片</td> <td>&quot;0123456789&quot;[::-2]</td> <td>&quot;97531&quot;</td> <td>字符串、列表、元组</td></tr></tbody></table> <ul><li><strong>切片</strong> 使用 <strong>索引值</strong> 来限定范围，从一个大的 <strong>字符串</strong> 中 <strong>切出</strong> 小的 <strong>字符串</strong></li> <li><strong>列表</strong> 和 <strong>元组</strong> 都是 <strong>有序</strong> 的集合，都能够 <strong>通过索引值</strong> 获取到对应的数据</li> <li><strong>字典</strong> 是一个 <strong>无序</strong> 的集合，是使用 <strong>键值对</strong> 保存数据</li></ul> <h3 id="_5-3-运算符"><a href="#_5-3-运算符" class="header-anchor">#</a> 5.3 运算符</h3> <table><thead><tr><th style="text-align:center;">运算符</th> <th>Python 表达式</th> <th>结果</th> <th>描述</th> <th>支持的数据类型</th></tr></thead> <tbody><tr><td style="text-align:center;">+</td> <td>[1, 2] + [3, 4]</td> <td>[1, 2, 3, 4]</td> <td>合并</td> <td>字符串、列表、元组</td></tr> <tr><td style="text-align:center;">*</td> <td>[&quot;Hi!&quot;] * 4</td> <td>['Hi!', 'Hi!', 'Hi!', 'Hi!']</td> <td>重复</td> <td>字符串、列表、元组</td></tr> <tr><td style="text-align:center;">in</td> <td>3 in (1, 2, 3)</td> <td>True</td> <td>元素是否存在</td> <td>字符串、列表、元组、字典</td></tr> <tr><td style="text-align:center;">not in</td> <td>4 not in (1, 2, 3)</td> <td>True</td> <td>元素是否不存在</td> <td>字符串、列表、元组、字典</td></tr> <tr><td style="text-align:center;">&gt; &gt;= == &lt; &lt;=</td> <td>(1, 2, 3) &lt; (2, 2, 3)</td> <td>True</td> <td>元素比较</td> <td>字符串、列表、元组</td></tr></tbody></table> <p><strong>注意</strong></p> <ul><li><code>in</code> 在对 <strong>字典</strong> 操作时，判断的是 <strong>字典的键</strong></li> <li><code>in</code> 和 <code>not in</code> 被称为 <strong>成员运算符</strong></li></ul> <h4 id="成员运算符"><a href="#成员运算符" class="header-anchor">#</a> 成员运算符</h4> <p>成员运算符用于 <strong>测试</strong> 序列中是否包含指定的 <strong>成员</strong></p> <table><thead><tr><th>运算符</th> <th>描述</th> <th>实例</th></tr></thead> <tbody><tr><td>in</td> <td>如果在指定的序列中找到值返回 True，否则返回 False</td> <td><code>3 in (1, 2, 3)</code> 返回 <code>True</code></td></tr> <tr><td>not in</td> <td>如果在指定的序列中没有找到值返回 True，否则返回 False</td> <td><code>3 not in (1, 2, 3)</code> 返回 <code>False</code></td></tr></tbody></table> <p>注意：在对 <strong>字典</strong> 操作时，判断的是 <strong>字典的键</strong></p> <h3 id="_5-4-完整的-for-循环语法"><a href="#_5-4-完整的-for-循环语法" class="header-anchor">#</a> 5.4 完整的 for 循环语法</h3> <ul><li>在 <code>Python</code> 中完整的 <code>for 循环</code> 的语法如下：</li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code><span class="token keyword">for</span> 变量 <span class="token keyword">in</span> 集合<span class="token punctuation">:</span>
    
    循环体代码
<span class="token keyword">else</span><span class="token punctuation">:</span>
    没有通过 <span class="token keyword">break</span> 退出循环，循环结束后，会执行的代码
</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><h4 id="应用场景"><a href="#应用场景" class="header-anchor">#</a> 应用场景</h4> <ul><li>在 <strong>迭代遍历</strong> 嵌套的数据类型时，例如 <strong>一个列表包含了多个字典</strong></li> <li>需求：要判断 某一个字典中 是否存在 指定的 值
<ul><li>如果 <strong>存在</strong>，提示并且退出循环</li> <li>如果 <strong>不存在</strong>，在 <strong>循环整体结束</strong> 后，希望 <strong>得到一个统一的提示</strong></li></ul></li></ul> <div class="language-python line-numbers-mode"><pre class="language-python"><code>students <span class="token operator">=</span> <span class="token punctuation">[</span>
    <span class="token punctuation">{</span><span class="token string">&quot;name&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;阿土&quot;</span><span class="token punctuation">,</span>
     <span class="token string">&quot;age&quot;</span><span class="token punctuation">:</span> <span class="token number">20</span><span class="token punctuation">,</span>
     <span class="token string">&quot;gender&quot;</span><span class="token punctuation">:</span> <span class="token boolean">True</span><span class="token punctuation">,</span>
     <span class="token string">&quot;height&quot;</span><span class="token punctuation">:</span> <span class="token number">1.7</span><span class="token punctuation">,</span>
     <span class="token string">&quot;weight&quot;</span><span class="token punctuation">:</span> <span class="token number">75.0</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
    <span class="token punctuation">{</span><span class="token string">&quot;name&quot;</span><span class="token punctuation">:</span> <span class="token string">&quot;小美&quot;</span><span class="token punctuation">,</span>
     <span class="token string">&quot;age&quot;</span><span class="token punctuation">:</span> <span class="token number">19</span><span class="token punctuation">,</span>
     <span class="token string">&quot;gender&quot;</span><span class="token punctuation">:</span> <span class="token boolean">False</span><span class="token punctuation">,</span>
     <span class="token string">&quot;height&quot;</span><span class="token punctuation">:</span> <span class="token number">1.6</span><span class="token punctuation">,</span>
     <span class="token string">&quot;weight&quot;</span><span class="token punctuation">:</span> <span class="token number">45.0</span><span class="token punctuation">}</span><span class="token punctuation">,</span>
<span class="token punctuation">]</span>

find_name <span class="token operator">=</span> <span class="token string">&quot;阿土&quot;</span>

<span class="token keyword">for</span> stu_dict <span class="token keyword">in</span> students<span class="token punctuation">:</span>

    <span class="token keyword">print</span><span class="token punctuation">(</span>stu_dict<span class="token punctuation">)</span>

    <span class="token comment"># 判断当前遍历的字典中姓名是否为find_name</span>
    <span class="token keyword">if</span> stu_dict<span class="token punctuation">[</span><span class="token string">&quot;name&quot;</span><span class="token punctuation">]</span> <span class="token operator">==</span> find_name<span class="token punctuation">:</span>
        <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&quot;找到了&quot;</span><span class="token punctuation">)</span>

        <span class="token comment"># 如果已经找到，直接退出循环，就不需要再对后续的数据进行比较</span>
        <span class="token keyword">break</span>

<span class="token keyword">else</span><span class="token punctuation">:</span>
    <span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&quot;没有找到&quot;</span><span class="token punctuation">)</span>

<span class="token keyword">print</span><span class="token punctuation">(</span><span class="token string">&quot;循环结束&quot;</span><span class="token punctuation">)</span>

</code></pre> <div class="line-numbers-wrapper"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br><span class="line-number">6</span><br><span class="line-number">7</span><br><span class="line-number">8</span><br><span class="line-number">9</span><br><span class="line-number">10</span><br><span class="line-number">11</span><br><span class="line-number">12</span><br><span class="line-number">13</span><br><span class="line-number">14</span><br><span class="line-number">15</span><br><span class="line-number">16</span><br><span class="line-number">17</span><br><span class="line-number">18</span><br><span class="line-number">19</span><br><span class="line-number">20</span><br><span class="line-number">21</span><br><span class="line-number">22</span><br><span class="line-number">23</span><br><span class="line-number">24</span><br><span class="line-number">25</span><br><span class="line-number">26</span><br><span class="line-number">27</span><br><span class="line-number">28</span><br><span class="line-number">29</span><br><span class="line-number">30</span><br><span class="line-number">31</span><br></div></div></div></div> <!----> <div class="page-edit"><div class="edit-link"><a href="https://github.com/xugaoyi/vuepress-theme-vdoing/edit/master/docs/00.Python/14.高级变量类型.md" target="_blank" rel="noopener noreferrer">编辑</a> <span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></div> <!----> <!----></div> <div class="page-nav-wapper"><div class="page-nav-centre-wrap"><a href="/vdoing-demo-repository/pages/ceea69/" class="page-nav-centre page-nav-centre-prev"><div class="tooltip">13_函数基础</div></a> <a href="/vdoing-demo-repository/pages/ed6fdd/" class="page-nav-centre page-nav-centre-next"><div class="tooltip">15_名片管理系统(综合应用)</div></a></div> <div class="page-nav"><p class="inner"><span class="prev">
        ←
        <a href="/vdoing-demo-repository/pages/ceea69/" class="prev">13_函数基础</a></span> <span class="next"><a href="/vdoing-demo-repository/pages/ed6fdd/">15_名片管理系统(综合应用)</a>→
      </span></p></div></div></div> <!----></main></div> <div class="footer"><!----> 
  Theme by
  <a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank" title="本站主题">Vdoing</a> 
    | Copyright © 2019-2023
    <span>Evan Xu | MIT License</span></div> <div class="buttons"><div title="返回顶部" class="button blur go-to-top iconfont icon-fanhuidingbu" style="display:none;"></div> <div title="去评论" class="button blur go-to-comment iconfont icon-pinglun" style="display:none;"></div> <div title="主题模式" class="button blur theme-mode-but iconfont icon-zhuti"><ul class="select-box" style="display:none;"><li class="iconfont icon-zidong">
          跟随系统
        </li><li class="iconfont icon-rijianmoshi">
          浅色模式
        </li><li class="iconfont icon-yejianmoshi">
          深色模式
        </li><li class="iconfont icon-yuedu">
          阅读模式
        </li></ul></div></div> <!----> <!----> <!----></div><div class="global-ui"></div></div>
    <script src="/vdoing-demo-repository/assets/js/app.52e6b5d0.js" defer></script><script src="/vdoing-demo-repository/assets/js/2.f10ddeba.js" defer></script><script src="/vdoing-demo-repository/assets/js/20.b5301937.js" defer></script>
  </body>
</html>
